/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.bean;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import java.util.List;
import com.modelo.*;
import com.dao.*;

/**
 *
 * @author Jonas
 */
@ManagedBean
@RequestScoped
public class AutenticacaoBean {

    private List<Funcionario> cachedFuncionarios = null;
    private FuncionarioDAO funcDAO = new FuncionarioDAO();
    private Funcionario selectedFuncionario;
    private String login;
    private String password;

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
    
      public List<Funcionario> getCachedFuncionario() {
        if (cachedFuncionarios == null) {
            cachedFuncionarios = funcDAO.getFuncionarios();
        }
        return cachedFuncionarios;
    }

    public String doLogin() {
        if (funcDAO.isValidLoginAndPassword(login, password)) {
            FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("user", "ok");
            return "gotoIndex";
        } else {
            return "reloadError";
        }
    }

    public String doAddFuncionario() {
        selectedFuncionario = new Funcionario();
        return "gotoAddNewUser";
    }

    public String finishAddFuncionario() {
        funcDAO.addFuncionario(selectedFuncionario);
        cachedFuncionarios = null;
        return "gotoListUsers";
    }

    public String removeFuncionario() {
        funcDAO.removeFuncionario(selectedFuncionario);
        cachedFuncionarios = null;
        return "gotoListUsers";
    }

    public Funcionario getSelectedFuncionario() {
        return selectedFuncionario;
    }

    public void setSelectedUser(Funcionario selectedFunc) {
        this.selectedFuncionario = selectedFunc;
    }
    public AutenticacaoBean() {
    }
}


